The advent of the personal computer has given rise to a large number of computer-related applications, all of these applications generally requiring output on some type of display. In the initial stages of the personal computer, the display was primarily utilized to display text. However, as computers became faster and memory became less expensive, the way in which information was presented to the users came to the forefront of technology. One problem that faced early personal computer users was the speed at which the display could be updated. This has progressed from a mode wherein each update of the display appeared as if it was "painted" across the display screen, to the present situation wherein the display can be updated in a real-time manner with respect to motion from one frame to the next. This enables a digital video signal to be output on the display screen and, for each vertical scan of the display, to depict real-time motion.
Another environment that has arisen through use of the personal computer is the advent of "window" environments. In these type of environments, multiple applications are pulled up on a computer display within windows, these windows overlying one another. The object is to run a program in different windows on a single display simultaneously. Present computer systems can handle multi-tasking operations wherein different programs can be simultaneously processed, but a different problem exists when trying to update the various windows with this process information. This situation is further exacerbated when the window environment allows "scaling" of the windows, such that the contents of a full size window, i.e., a window taking up the entire display space, is scaled down to a significantly smaller window with all of the information contained within that window.
The above windowing problems are further increased when trying to display real-time video in a windowing environment. Real-time video is typically generated in a predetermined "display space" wherein all of the information is divided up into picture elements or "pixels." Each of these pixels defines the limit of the resolution of any display space. In order to scale down a given display space to a window within an output display space, it is necessary to reduce the overall number of pixels that represent a given input display space. For example, a pixel area of 20.times.40 may need to be reduced to a single pixel. This will reduce the image quality, etc. that the user perceives. Although some systems at present do allow for scaling of real-time video, these systems tend to have poor image quality and, therefore, there exists a need for an improved system having a more versatile video scaling operation while retaining a relatively high image quality and image resolution.